'''
作业二：
请设计一个装饰器，它可以作用于任何函数上，打印函数执行时间：
'''
# 装饰器
import time
def ExeTime(f):    # （）中是目标函数程序
    def ExeTime(*args,**kw):  #写log的方法，（）中的写法运行目标函数包含任何类型的任何数量的参数。
        start_time = time.time()  # 执行函数前，记录开始时间
        f(*args,**kw)   # 在这里对目标函数f进行执行操作
        end_time = time.time()  # 执行函数后，记录结束时间
        print('耗时：{:.4f}s'.format(end_time - start_time))  # 计算耗时
    return ExeTime  # 固定格式返回一个函数

# 验证
@ExeTime
def Irun(ss):  # 随便编写一个需要花时间执行的函数来验证
    print('Start running Irun')
    time.sleep(ss)
    print('End running Irun')

Irun(1)
